// pages/mylist/mylist.js
const db = wx.cloud.database()
const app = getApp()
const default_area = '六里桥4楼'
const year = new Date().getFullYear();
const month = new Date().getMonth() + 1
Page({

  /**
   * 页面的初始数据
   */
  data: {
    areas: [],
    items: [],
    room: [],
    months: [],
    curarea: '六里桥4楼',
    curoom: '1号',
    curmonth: new Date().getMonth() + 1,
    index: 0,
    indx: 0,
    iarea: 0,
    startX: 0,
    startY: 0
  },

  //月份初始化
  onInit() {
    // let year = new Date().getFullYear();
    for (let m = 1; m <= 12; m++) {
      this.setData({
        months: this.data.months.concat(m)
      })
    }
    this.setData({
      indx: this.data.curmonth - 1
    })
  },
  areasPickerSelected: function (e) {
    var that = this
    that.setData({
      iarea: e.detail.value,
      curarea: that.data.areas[e.detail.value]
    })
    that.data.room.length = 0
    that.initMeetRoom(that.data.areas[e.detail.value])
    this.onInitData()
  },

  monthPickerSelected: function (e) {
    this.setData({
      indx: e.detail.value
    })
    this.setData({
      curmonth: this.data.months[e.detail.value]
    })
    this.onInitData();
  },

  roomPickerSelected: function (e) {
    this.setData({
      index: e.detail.value
    })
    this.setData({
      curoom: this.data.room[this.data.index]
    })
    this.onInitData()
  },
  //初始化会议地名;
  initAreas() {
    db.collection('domain').where({
      _openid: app.globalData.projectid
    }).get().then(res => {
      for (var i = 0; i < res.data.length; i++) {
        this.setData({
          areas: this.data.areas.concat(res.data[i]['area'])
        })
      }
    }).catch(err => {
      console.log(err)
    })
  },
  //初始化会议室信息;
  initMeetRoom(area) {
    db.collection("meeting").where({
      _openid: app.globalData.projectid,
      area: area
    }).get().then(res => {
      for (let i = 0; i < res.data.length; i++) {
        var meet = res.data[i]['meet'];
        this.setData({
          room: this.data.room.concat(meet)
        })
      }
    }).catch(err => {
      console.log(err);
    })
  },

  getmeetlist(v_user, v_depart, v_month) {
    var that = this
    //console.log('getmeet',v_area,v_room,v_month)
    wx.request({
      url: app.globalData.serverUrl +'/get-byuser/',
      data:{
        year: year,
        user: v_user,
        depart: v_depart,
        month: v_month
      },
      method: 'POST',
      success(res) {
        //that.data.items.length = 0
        if (res.data.length == 0) {
          console.log('....')
          that.setData({
            items: []
          })
        }
        for (var i = 0; i < res.data.length; i++) {
          let item = {
            id: res.data[i]['meet_id'],
            user: res.data[i]['user'],
            depart: res.data[i]['depart'],
            meet: res.data[i]['meet'],
            date2: res.data[i]['date2'],
            time: res.data[i]['time']
          }
          that.setData({
            items: that.data.items.concat(item),
            isTouchMove: false
          })
        }
      },
      fail(err) {
        console.log('getmeetlist-error', err)
      }
    })
  },

  //云数据库获取的信息;
  onInitData: function () {
    var that = this
    that.data.items.length = 0;
    //Django+mysql后台获取数据：
    var res = wx.getStorageSync('userinfo');
    if(res != null)
    {
      let user = res.username
      let depart = res.depart
      this.getmeetlist(user,depart,month)
    }
  },
  //获取云数据库数据;
  on_yun_data() {
    // //获取云数据库数据;
    db.collection("meetab").where({
      _openid: app.globalData.projectid
    }).where({
      meet: that.data.curoom //this.data.room[this.data.index]
    }).where({
      month: that.data.curmonth
    }).orderBy('date', 'desc').get().then(res => {
      that.setData({
        items: that.data.items.concat(res.data)
      })
    }).catch(err => {
      console.log(err);
    })
  },
  //
  touchstart: function (e) {
    this.data.items.forEach(function (v, i) {
      if (v.isTouchMove)
        v.isTouchMove = false;

    })
    this.setData({
      startX: e.changedTouches[0].clientX,
      startY: e.changedTouches[0].clientY,
      items: this.data.items
    })
  },
  //滑动事件处理 
  touchmove: function (e) {
    var that = this,
      //当前索引 
      index = e.currentTarget.dataset.index,
      //开始X坐标 
      startX = that.data.startX,
      //开始Y坐标 
      startY = that.data.startY,
      //滑动变化坐标 
      touchMoveX = e.changedTouches[0].clientX,
      //滑动变化坐标
      touchMoveY = e.changedTouches[0].clientY,
      //获取滑动角度 
      angle = that.angle({ X: startX, Y: startY }, { X: touchMoveX, Y: touchMoveY });
    that.data.items.forEach(function (v, i) {
      v.isTouchMove = false
      //滑动超过30度角 return 
      if (Math.abs(angle) > 30)
        return;
      if (i == index) {
        if (touchMoveX > startX) //右滑
          v.isTouchMove = false
        else //左滑 
          v.isTouchMove = true
      }
    }) //更新数据 
    that.setData({
      items: that.data.items
    })
  },
  /**
   * 计算滑动角度
   * @param {Object} start 起点坐标
   * @param {Object} end 终点坐标
   */
  angle: function (start, end) {
    var _X = end.X - start.X,
      _Y = end.Y - start.Y
    //返回角度 /Math.atan()返回数字的反正切值 
    return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
  },
  //删除事件 
  del: function (e) {
    var that = this
    var i = e.currentTarget.index
    var id = this.data.items[e.currentTarget.dataset.index]['id']
    console.log(id)
    //console.log(this.data.items[e.currentTarget.dataset.index])
    wx.showModal({
      title: '提示',
      content: '是否删除？',
      confirmColor: '#f83d46',
      success(res) {
        if (res.confirm) {
          wx.request({
            url: app.globalData.serverUrl + '/mee?id=' + id,
            method: 'DELETE',
            success(res) {
              console.log(res.data)
              if (res.data == 'OK') {
                wx.showToast({
                  title: '删除成功!!',
                })
                //////
                that.data.items.splice(e.currentTarget.dataset.index, 1)
                that.setData({
                  items: that.data.items
                })
              }
            }
          })
        }
      }
    })


  },

  //下一页事件
  onNextPage: function (e) {
    wx.switchTab({
      url: '/pages/profile/profile',
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log('onLoad....')
    this.onInitData()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    console.log('onReady....')
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    console.log('onShow....')
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})